Skip to content

fix(release): don't false-abort flash on a resumed subscription; tidy #12 console comments - #93

Merged
AndrewDemsDS merged 1 commit into
mainfrom
fix/subscription-log-gate
Jul 23, 2026
Merged

fix(release): don't false-abort flash on a resumed subscription; tidy #12 console comments#93
AndrewDemsDS merged 1 commit into
mainfrom
fix/subscription-log-gate

Conversation

@AndrewDemsDS

Copy link
Copy Markdown
Owner

Why

The 6am reject-flip run false-aborted at check_subscription_log: matter-server had no fresh (Re-)Subscription succeeded line in the last 15m, so the gate die'd even though the node was healthy. matter-server sometimes resumes a subscription after the flash's re-interview without logging a new line.

What

  • check_subscription_log (both ota-release.sh + esp32-release.sh): warn instead of die when the log line is absent. The flash gate already re-interviews the node and polls it back to available, and matter-server only marks a node available once its subscription is up — so availability already asserts the subscription (QA gap: nothing exercises a Matter subscription, so a broken data model passes every gate #64). A missing log line is not proof of a break; a false die aborts a healthy flash mid-run.
  • OTA, watchdog, bus-error & link-loss recovery #12 console comments (esp32-matter/main/diag_console.cpp + src/sdk-edits/hisense_diag_console.h): the RX checksum verify now rejects a mismatch (skips parse + counts a link-miss), so the mismatch tally counts corrupt 0x66 frames dropped — not the old log-only observation.
  • version.txt 1.3.23 → 1.3.24: the ameba console comment lives in firmware/src, so CI requires the int to increase. Comment-only — nodes 14/62 stay on 1.3.23, no reflash.

Field state

All three nodes current: node 35 (ESP32) 1.1.7, node 14 (kitchen ameba) 1.3.23, node 62 (office ameba) 1.3.23 — all on the reject build, 0 checksum mismatches.

…12 console comments

check_subscription_log (both ota-release.sh and esp32-release.sh) died when the
matter-server log had no fresh '(Re-)Subscription succeeded' line in the last 15m.
But the flash gate already re-interviews the node and polls it back to available,
and matter-server only marks a node available once its subscription is up -- so
availability already asserts the subscription (#64). matter-server sometimes
RESUMES a subscription after the re-interview without logging a new line (seen on
the 2026-07-23 reject flip), which false-aborted a healthy flash mid-run. Warn
instead of die when the line is absent; the primary availability gate still holds.

Also refresh the #12 checksum-mismatch counter comments in both diag consoles
(esp32 diag_console.cpp + ameba hisense_diag_console.h): the RX checksum verify
now REJECTS a mismatch (skips parse + counts a link-miss), so the tally is the
count of corrupt 0x66 frames dropped, not the old log-only observation.

Bumps firmware/src/version.txt 1.3.23 -> 1.3.24 (ameba console comment lives in
firmware/src; CI requires the int to increase). Comment-only for the firmware --
nodes 14/62 stay on 1.3.23, no reflash needed.

Assisted-by: AI
@AndrewDemsDS
AndrewDemsDS merged commit fbc5565 into main Jul 23, 2026
5 checks passed
@AndrewDemsDS
AndrewDemsDS deleted the fix/subscription-log-gate branch July 23, 2026 04:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant